iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 13
0
Cloud Native

Cloud Native Startups:一個簡單的垃圾分類器與計算平台系列 第 13

[Day 13] 軟體循環經濟 (Monitoring Data and Computing Regulations)

  • 分享至 

  • xImage
  •  

對於一個監測設施之監測數據 (Monitoring Data),有許多計算處理規範 (Computing Regulations) 需要遵守,像是粒狀污染物、氣狀污染物、稀釋氣體、排放流率中,其量測頻率、紀錄值計算、全幅設定、無效或遺失數據之認定、無效或遺失數據時數之認定、紀錄值替代計算之處理及系統偏移之校正計算,在各領域中都各有其固定標準,所以需要作設計通用化,才能成就軟體循環經濟。

量測頻率 (Sampling Frequency)


需求分析

  • 粒狀污染物不透光率監測設施之採樣、分析及記錄,應在十秒之內完成一次循環。
  • 氣狀污染物稀釋氣體監測設施之採樣、分析及記錄,應在十五分鐘之內完成一次循環。
  • 排放流率溫度監測設施之採樣、分析及記錄,應於一分鐘之內完成一次循環。
  • 由上可知,各量測項目 (SamplingItem) 之量測頻率並不一樣。
  • 由上可知,監測設施採樣、分析及記錄 動作,是委由量測項目完成。

測試案例

[TestMethod]
public void TestSamplingFrequency()
{
    // Arrange
    CAMS_ParticulateMatters CAMS_PM = new CAMS_ParticulateMatters();
    XDocument doc = XDocument.Load("CAMS_SamplingItemList.xml");
    var query =
        from c in doc.Descendants("CAMS_SamplingItem")
        where (string)c.Attribute("CAMS") == "CAMS_ParticulateMatters"
        select c;
    foreach (XElement e in query)
    {
        SamplingItemBase item = SamplingItemFactory.CreateSamplingItem(
            (string)e.Attribute("SamplingItem"));
        item.SamplingFreqBySeconds = (int)e.Attribute("SamplingFrequency");
        CAMS_PM.SamplingItemList.Add(item);
    }

    // Act
    foreach (SamplingItem.SamplingItemBase item in CAMS_PM.SamplingItemList)
    {
        var stopwatch = System.Diagnostics.Stopwatch.StartNew();
        item.Sampling();
        item.Analyzing();
        item.Recording();
        stopwatch.Stop();
        Assert.IsTrue(
            stopwatch.Elapsed.TotalSeconds < item.SamplingFreqBySeconds,
            "The actualCount was not less than the spec.");
    }
}

設計圖

https://ithelp.ithome.com.tw/upload/images/20181116/20107753izgg0JXrd1.png


上一篇
[Day 12] 軟體循環經濟 (Continuous Auto Monitoring Systems)
下一篇
[Day 14] 軟體循環經濟 (Record Average Data)
系列文
Cloud Native Startups:一個簡單的垃圾分類器與計算平台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言